// pages/mall/cart/index.js
const app = getApp(); // 获取应用实例

Page({

  /**
   * 页面的初始数据
   */
  data: {
    bomMenus: [], //底部菜单数据
    bomMenuId: 2, //页面ID
    glist: [], //商品列表
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.bomMenuList();
    this.glist();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 底部菜单
  bomMenuList: function () {
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'init',
      data: { type: 1 },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({
          bomMenus: res.data,
        });
      },
      error: function (err) {
        console.log(err);
      }
    })
    // this.setData({
    //   bomMenus: app.globalData.bomAry,
    // });
  },

  // 页面跳转
  toView: function(e) {
    console.log(e);
    var id = e.currentTarget.dataset.id;
    if (id == this.data.bomMenuId) { return }
    var bms = this.data.bomMenus, mlink = '', i = 0;
    for (; i < bms.length; i ++) {
      if (bms[i].id == id) {
        mlink = bms[i].link;
      }
    }
    console.log(mlink);
    wx.navigateTo({
      url: mlink,
    });
  },

  // //商品列表
  // glist: function () {
  //   var gs = [
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //     { id: 1, gname: '名称名称名称名称名称名称名称名称名称名称', cover: '/imgs/goods.png', shop_name: '店名', gprice: '10.00', gnum: '1' },
  //   ];
  //   this.setData({
  //     glist: gs,
  //   });
  // },

  // 商品列表
  glist: function (e) {
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo || !uinfo.uid) {
      wx.showToast({
        title: '没有登录', icon: 'none'
      }); return
    }
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'mall/cart/list',
      data: { uid: uinfo.uid },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({ glist: res.data });
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // 新增
  cartAdd: function (e) {
    console.log(e);
    var gid = e.currentTarget.dataset.gid;
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo) {
      wx.showToast({
        title: '没有登录', icon: 'none'
      }); return
    }
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'mall/cart/add',
      data: { uid: uinfo.uid, gid: gid },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.glist();
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // 删除
  cartDel: function (e) {
    var gid = e.currentTarget.dataset.gid;
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo) {
      wx.showToast({
        title: '没有登录', icon: 'none'
      }); return
    }
    wx.showModal({
      title: '提示',
      content: '确认要删除吗？',
      complete: (res) => {
        if (res.cancel) {
          console.log('关闭');
          return
        }
        if (res.confirm) {
          console.log('警告');
          this.cartReduceApi({ gid: gid });
        }
      }
    });
  },

  // 减少
  cartReduce: function (e) {
    console.log(e);
    var gid = e.currentTarget.dataset.gid;
    this.cartReduceApi({gid: gid});
  },

  // 减少API
  cartReduceApi: function (e) {
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo) {
      wx.showToast({
        title: '没有登录', icon: 'none'
      }); return
    }
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'mall/cart/reduce',
      data: { uid: uinfo.uid, gid: e.gid },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.glist();
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // 下单
  toOrder: function (e) {
    console.log(e);
    if (this.data.glist.length == 0) {
      wx.showToast({
        title: '没有记录', icon: 'none',
      }); return
    }
    wx.navigateTo({
      url: '/pages/mall/cart/order',
    });
  },
});